package cn.tedu.erp.project.service;

import cn.tedu.erp.project.pojo.dto.AdminAddNewDTO;
import cn.tedu.erp.project.pojo.dto.AdminLoginDTO;
import cn.tedu.erp.project.pojo.dto.DeptAddNewDTO;
import cn.tedu.erp.project.pojo.dto.DeptUpdateDTO;
import cn.tedu.erp.project.pojo.vo.AdminListVO;
import cn.tedu.erp.project.pojo.vo.AdminStandardVO;
import cn.tedu.erp.project.pojo.vo.DeptListVO;
import cn.tedu.erp.project.pojo.vo.DeptStandardVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional
public interface IDeptService {
    String BOSS = "董事长";

    /**
     * 添加部门
     *
     * @param deptAddNewDTOto
     */
    void addNew(DeptAddNewDTO deptAddNewDTOto);

    /**
     * 根据id删除部门
     *
     * @param id
     */
    void deleteById(Long id);

    /**
     * 根据id查询部门详情
     *
     * @param id
     */
    DeptStandardVO getStandardById(Long id);

    /**
     * 根据部门名称查询用户详情
     * @param name
     * @return
     */
    DeptStandardVO getStandardByName(String name);

    /**
     * 根据id修改部门
     * @param id
     */
    void updateById(Long id, DeptUpdateDTO deptUpdateDTO);

    /**
     * 查询部门列表
     *
     * @return
     */
    List<DeptListVO> list();

    /**
     * 根据部门id查询用户列表
     *
     * @param id
     * @return AdminListVO
     */
    List<AdminListVO> listAdmin(Long id);

}
